In many types of systems it is desirable to control a physical device in such a manner that the device performs the command with as great an accuracy as possible. An exemplary type of such system is used in automotive suspension testing where the vehicle suspension is subjected to simulated road surface excitations for performance and fatigue testing. This testing can be performed by fixing the vehicle in a test rig and using hydraulic actuators to drive the suspension in accordance with a stored signal (desired command). The desired command represents road surface excitations for which testing of the suspension is desired and may have been obtained by a measurement of actual service loadings on a proving ground or other road surface.
In this type of suspension testing, it is desirable that the hydraulic actuators accurately reproduce the road surface excitations represented by the desired command. Thus, for example, if the desired command includes a 2 g acceleration at 10 Hz, the actuator that drives the suspension should accelerate the suspension by 2 g's at 10 Hz. Additionally, the actuators should be driven to provide a response that retains the phase relationships of the different spectral components of the desired command, since, for example, several different components of small amplitude can have a significant effect if they are all applied in phase. However, real devices, whether hydraulic actuators or otherwise, have their own unique transfer functions that result in their responses having frequency specific phase shifts and amplitude variations. Consequently, driving the device directly with the desired command will not produce the desired results.
Controllers have been developed that attempt to account for the transfer function of the device being controlled. They operate to modify the desired command in such a manner as to correct for the device's transfer function. These controllers operate under the simple concept that if the controller models the inverse of the transfer function of the device (referred to more generally as the plant or system), then the joint effect of first modifying the desired command by the inverse transfer function and then applying the modified command to the plant will be that the response of the plant will exactly match the desired command. Although simple in theory, the difficulty in practice arises from limitations inherent in the modelling processes heretofore used.
Historically, these controllers have operated by using frequency domain signal processing techniques. One such controller is described in the paper entitled "ITFC--A Computer Based Control System for Fatigue Testing and Service Loading Simulation," Carl Schenck AG, and in the paper entitled "ITFC--How it works and where to use it," J. B. Craig, Carl Schenck AG, 1979. The controller operates to iteratively generate and update a drive file that comprises sequences of modified command signals that will cause the plant to reproduce the desired command. These sequences of modified command signals are generated by iteratively generating the modified command signals until the error between the plant's response and the desired command falls within a prescribed tolerance. Each iteration involves: determining the error between the desired command and the plant's response using the modified command signal determined during the previous iteration to drive the plant; converting that error into the frequency domain using a Fast Fourier Transform (FFT); generating a corrected signal by multiplying the spectral components of the error by the appropriate elements of a predetermined inverted frequency response function; and then performing an inverse Fourier Transform to return the corrected signal to the time domain. The corrected signal is then multiplied by selected factors and added to the modified command signal generated during the previous iteration to produce the next iteration of the modified command signal. Once the error is sufficiently minimized, the drive file containing the final version of the modified command can be used to drive the plant for performance or fatigue testing. During this testing, the response of the plant can be recorded and later compared to the desired command.
The inverted frequency response function is initially determined during an identification phase in which an identification input having a selected power spectral density is used to excite the plant. The plant's response is measured and the frequency response function is calculated by dividing the averaged cross spectral density (CSD) between the identification input and the measured response by the averaged power spectral density (PSD) of the identification input. The last step is inversion of the frequency response function which provides the inverted frequency response function. For a multiple (N) channel controller that provides channel to channel decoupling, an N.times.N matrix of frequency response functions must be generated. Each of the matrix's rows are generated by using the identification input for the channel corresponding to that row, measuring the responses of each of the N controlled variables within the plant, and generating the frequency response functions between the identification input and each of the measured responses.
The updating of the modified command signal is performed off-line. That is, for each iteration, the modified command signal determined from the previous iteration is used to drive the plant and the plant's response is recorded. The recorded response is then used to determine off-line the next iteration of the modified command signal in the manner described above.
There are various significant problems inherent in this frequency domain solution to inverse modelling. One is that the sheer complexity of the calculations involved in the transformations between the time and frequency domain have typically meant that the calculations must be performed off-line. Also, the calculation of the frequency response function and then its inversion can result in divisions by zero that may be difficult to resolve. Additionally, these frequency analysis techniques are inherently block-oriented and the desired command is typically separated in the time domain into many segments that are processed separately, resulting in a loss of phase between the segments. Furthermore, there is no way to compare the response to the desired command in real time, making it difficult to limit the error that might occur due to fatigue or failure of the specimen.
More recently, it has been suggested that the modelling be carried out in the time domain using adaptive FIR filters to first model the inverse and then control the plant. See, e.g., "Adaptive Inverse Control," Bernard Widrow, 1986, and "Adaptive Signal Processing For Adaptive Control," Bernard Widrow et al., 1984. Inverse identification is accomplished by driving the plant with the desired command, using the response of the plant as the input to the FIR filter, delaying the desired command, and updating the filter's coefficients in accordance with the mean square error between the delayed command and the output of the FIR filter. Multiple iterations of this process are carried out until the mean square error is satisfactorily minimized. One disadvantage of this method of inverse modelling is that for some frequencies (e.g., higher frequencies), the plant may provide no response at all and, as a result, the adaption routine will not result in any coefficients in the FIR filter for those frequencies.
Another problem that arises with this method of inverse modelling is that plant noise will bias the inverse solution. To resolve the noise problem, Widrow calculates the inverse from a model of the plant. However, this is a two-step process that involves an off-line calculation of the model reference plant inverse. Widrow further teaches accounting for plant noise with an adaptive noise cancellation scheme that uses a copy of the plant to determine the noise and then modifies the noise using another FIR filter that models the plant inverse without delay. The modified noise is then fed back and subtracted from the input to the plant and the copy of the plant. One limitation of this approach is that it is a feedback system in which the delays around the loop may limit its ability to perform noise cancellation. Also, the inverse model used to feedback the noise may not provide an accurate model of the plant inverse.
Another problem with using time domain digital filters and an adaption routine to determine the plant inverse is that the adaption speed (i.e., convergence time) of the filter is dependent upon the smallest eigenvalue of the input Autocorrelation matrix of the signal used to update the filter's coefficients. Thus, the convergence time depends on the ratio of the extreme eigenvalues of the power spectral density of the signal. This theoretical limitation on the convergence time is discussed in Digital Processing of Signals--Theory and Practice, 2d ed., Maurice Bellanger, pp. 309-311. Because the relative amplitudes of the spectral content of the signal used for adapting the filter can be relatively large, the convergence time can be undesirably long.
In many applications, the device being controlled is operated by way of a servo controller that contains a proportional plus integral plus derivative (PID) controller. This arrangement is used in servo-hydraulic systems such as the above-mentioned hydraulic actuators used in automotive suspension testing. For the purposes of plant inverse identification, the plant must be considered as including not only actuator itself, but the servo controller as well. This is because the output of the inverse model drives the actuator via the servo controller and so the transfer function seen between the output of the inverse model and the response of the actuator includes not only the transfer function of the actuator, but also that of the servo controller. One problem encountered in driving the commands through the servo controller is that the PID gains may be too low for the actuator to provide the desired response. Also, the servo loop may itself add undesirable dynamics which, when combined with non-linearities in the servo loop, make it desirable to reduce the servo loop gain.